﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KuPeiXun.Dao
{
    #region 区域表数据访问接口
    /// <summary>
    /// 区域表数据访问接口
    /// </summary>
    /// ===============================================================
    /// 作者：邹学良 
    /// 时间：2013-03-23
    /// 描述：创建
    /// 历史：无
    /// ===============================================================
    public interface IArea
    {
        #region 基本操作

        #region 添加一个区域数据
        /// <summary>
        /// 添加一个区域数据
        /// </summary>
        /// <param name="entity">区域实体</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        Guid Insert(KuPeiXun.Entity.Area entity);
        #endregion

        #region 更新一个区域数据
        /// <summary>
        /// 更新一个区域数据
        /// </summary>
        /// <param name="entity">区域实体</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        bool Update(KuPeiXun.Entity.Area entity);
        #endregion

        #region 删除一个区域数据
        /// <summary>
        /// 删除一个区域数据
        /// </summary>
        /// <param name="id">区域id</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        bool Delete(Guid id);
        #endregion

        #region 删除多个区域数据
        /// <summary>
        /// 删除多个区域数据
        /// </summary>
        /// <param name="idlist">区域id列表</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        bool DeleteRang(List<Guid> idlist);
        #endregion

        #endregion

        #region 获取数据

        #region 通过ID获取区域对象
        /// <summary>
        /// 通过ID获取区域对象
        /// </summary>
        /// <param name="id">区域ID</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        KuPeiXun.Entity.Area SelectSingleById(Guid id);
        #endregion

        #region 通过名称获取区域对象
        /// <summary>
        /// 通过名称获取区域对象
        /// </summary>
        /// <param name="name">名称</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        KuPeiXun.Entity.Area SelectSingleByName(string name);
        #endregion

        #region 通过名称,城市Id获取区域对象
        /// <summary>
        /// 通过名称,城市Id获取区域对象
        /// </summary>
        /// <param name="name">名称</param>
        /// <param name="cityid">城市Id</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        KuPeiXun.Entity.Area SelectSingleByName(string name, Guid cityid);
        #endregion

        #region 通过关键字，数据列表条件获取区域数据列表
        /// <summary>
        /// 通过关键字，数据列表条件获取区域数据列表
        /// </summary>
        /// <param name="keystr">关键字</param>
        /// <param name="listparameter">数据列表条件</param>
        /// <param name="datacount">数据总数</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        List<KuPeiXun.Entity.Area> SelectList(string keystr, KuPeiXun.Common.Entity.ListParameter listparameter, out int datacount);
        #endregion

        #region 通过关键字，数据列表条件，管理员ID获取区域数据列表
        /// <summary>
        /// 通过关键字，数据列表条件，管理员ID获取区域数据列表
        /// </summary>
        /// <param name="keystr">关键字</param>
        /// <param name="managerid">管理员id</param>
        /// <param name="listparameter">数据列表条件</param>
        /// <param name="datacount">数据总数</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        List<KuPeiXun.Entity.Area> SelectList(string keystr, Guid managerid, KuPeiXun.Common.Entity.ListParameter listparameter, out int datacount);
        #endregion

        #region 通过关键字，数据列表条件，城市ID获取区域数据列表
        /// <summary>
        /// 通过关键字，数据列表条件，城市ID获取区域数据列表
        /// </summary>
        /// <param name="keystr">关键字</param>
        /// <param name="cityid">城市id</param>
        /// <param name="listparameter">数据列表条件</param>
        /// <param name="datacount">数据总数</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        List<KuPeiXun.Entity.Area> SelectListByCityId(string keystr, Guid cityid, KuPeiXun.Common.Entity.ListParameter listparameter, out int datacount);
        #endregion

        #region 通过关键字，数据列表条件，城市ID，管理员Id获取区域数据列表
        /// <summary>
        /// 通过关键字，数据列表条件，城市ID，管理员Id获取区域数据列表
        /// </summary>
        /// <param name="keystr">关键字</param>
        /// <param name="cityid">城市id</param>
        /// <param name="managerid">管理员Id</param>
        /// <param name="listparameter">数据列表条件</param>
        /// <param name="datacount">数据总数</param>
        /// <returns></returns>
        /// ===============================================================
        /// 作者：邹学良 
        /// 时间：2013-03-23
        /// 描述：创建
        /// 历史：无
        /// ===============================================================
        List<KuPeiXun.Entity.Area> SelectListByCityId(string keystr, Guid cityid, Guid managerid, KuPeiXun.Common.Entity.ListParameter listparameter, out int datacount);
        #endregion

        #endregion
    }
    #endregion
}
